package com.sss.hloster0406;

import java.util.*;

public class TestZuChe {// 通过租车系统讲解集合中Iterator 应用

	public static void main(String[] args) {
		test01();

	}

	private static void test01() {
		// 创建HashSet集合，用于存放车辆
		Set vehSet = new HashSet();
		// 创建两个轿车对象，两个卡车对象，并加入HashSet集合中
		Vehicle c1 = new Car("战神", "长城");
		Vehicle c2 = new Car("跑得快", "红旗");
		Vehicle t1 = new Truck("大理石", "5吨");
		Vehicle t2 = new Truck("大理石二代", "10吨");
		vehSet.add(c1);
		vehSet.add(c2);
		vehSet.add(t1);
		vehSet.add(t2);
		// 使用迭代器循环输出
		Iterator it = vehSet.iterator();
		while (it.hasNext()) {
			System.out.println("***显示集合中元素信息***");
			Object obj = it.next();
			if (obj instanceof Car) {
				Car car = (Car) obj;
				// 调用Car类的特有方法 getBrand()
				System.out.println("该车是轿车，其品牌为：" + car.getBrand());
			} else {
				Truck truck = (Truck) obj;
				// 调用Truck类的特有犯法getLoad()
				System.out.println("该车是卡车，其吨位为：" + truck.getLoad());
			}
			// 调用Vehicle 类方法show()

			((Vehicle) obj).show();
		}

	}
}
